﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TMSimulator
{
    public interface IFactor
    {
        /// <summary>
        /// This method is called to return a new TMScore after the factor calculation
        /// </summary>
        /// <param name="originalTMscore">original TMScore</param>
        /// <param name="data">data for calculation</param>
        /// <returns></returns>
        double getFactoredTMScore(double originalTMscore, object data);

        /// <summary>
        /// Description for using the factor
        /// </summary>
        /// <returns></returns>
        string getDescription();
    }
}
